Concolic Execution in Functional Programming by Program Instrumentation
نویسندگان
چکیده
Concolic execution, a combination of concrete and symbolic execution, has become increasingly popular in recent approaches to model checking and test case generation. In general, an interpreter of the language is augmented in order to also deal with symbolic values. In this paper, in contrast, we present a lightweight approach that is based on a program instrumentation. Basically, the execution of the instrumented program in a standard environment produces a sequence of events that can be used to reconstruct the associated symbolic execution. We discuss the usefulness of our approach for test case generation.
منابع مشابه
Concolic Execution and Test Case Generation in Prolog
Symbolic execution extends concrete execution by allowing symbolic input data and then exploring all feasible execution paths. It has been defined and used in the context of many different programming languages and paradigms. A symbolic execution engine is at the heart of many program analysis and transformation techniques, like partial evaluation, test case generation or model checking, to nam...
متن کاملScaling Concolic Execution of Binary Programs for Security Applications
Concolic execution is a technique for program analysis that makes the values of certain inputs symbolic, symbolically executes a program’s code, and computes a symbolic logical formula to represent a desired behavior of the program under analysis. The computed formula is then solved by a decision procedure to determine whether the desired behavior is feasible and, if so, provide an example prog...
متن کاملConcolic Testing of Multithreaded Programs and Its Application to Testing Security Protocols
Testing concurrent programs that accept data inputs is notoriously hard because, besides the large number of possible data inputs, nondeterminism results in an exponentially large number of interleavings of concurrent events. We propose a novel testing algorithm for concurrent programs in which our goal is not only to execute all reachable statements of a program, but to detect all possible dat...
متن کاملEmploying Run-time Static Analysis to Improve Concolic Execution
Dynamic symbolic execution, or concolic execution, is a program testing technique that systematically executes a program with the aim of exploring all feasible program paths, and locating and reporting all errors encountered in these paths. However, as the complexity of the program grows, the number of program paths explodes, making it infeasible for concolic testers to explore all of them. To ...
متن کاملConcolic Testing and Constraint Satisfaction
Software testing is the most common technique used in industry to improve reliability and quality of software. Unfortunately, testing is mostly a manual process that reportedly accounts for over half of the typical cost of software development and maintenance. Symbolic execution [6, 2, 3, 9, 5] was proposed in the 70s to automate software testing by generating test inputs. During symbolic execu...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2015